#if !defined(_APP_POOL)
#define _APP_POOL

//1 常量   
//   队列： 文件名称  队列n长度  队列消息大小 
//   线程 ：   个数 
#define  QUEUE_FILE_NAME "/task_queue"    // /dev/mqueue/task_queue
#define  QUEUE_LENGTH 10
#define  QUEUE_MSG_SIZE 1024 //也可以 sizeof(任务的结构体)
#define  THREAD_NUM 5

//2  任务的结构体 ( 任务函数 、 任务参数 )
typedef struct {
     void *(*task_func)(void *);
     void *arg;
}Task;

//3  方法   1  初始化  2   提交任务   3  销毁

/**
 * @brief  初始化线程池
 * 
 */
int app_pool_init();

/**
 * @brief  销毁线程池
 */
int app_pool_destroy();

/**
 * @brief  提交任务
 */
int app_pool_submit_task(void *(*task_func)(void *) , void *arg );



#endif // _APP_POOL
